package com.bluesky.webflux.oa.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.AccessType;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Table;
import org.springframework.data.relational.core.mapping.Column;

import java.time.LocalDateTime;
import java.util.Date;

@Table(name = "oa_user")
@Data
@AllArgsConstructor
@NoArgsConstructor
@AccessType(AccessType.Type.PROPERTY)
public class OaUser {
    /**
     * 用户id
     */
    @Id
    private String id;

    /**
     * 登录用户名
     */
    @Column("login_id")
    private String loginId;

    /**
     * 密码
     */
    private String passw;

    /**
     * 电子邮件
     */
    private String email;

    /**
     * 用户花名
     */
    @Column("user_name")
    private String userName;

    /**
     * 真实姓名
     */
    @Column("real_name")
    private String realName;

    /**
     * 证件类型
     */
    @Column("card_type")
    private String cardType;

    /**
     * 证件编号号
     */
    @Column("id_card")
    private String idCard;

    /**
     * 国家名称
     */
    private String nationality;

    /**
     * 省份名称
     */
    private String province;

    /**
     * 城市名称
     */
    private String city;

    /**
     * 性别：0女，1男
     */
    private Integer sex;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 电话
     */
    private String phone;

    /**
     * 描述
     */
    private String description;

    /**
     * 爱好
     */
    private String hobby;

    /**
     * 用户状态，0：无效，1：无效
     */
    private Integer status;

    /**
     * 盐值
     */
    private String salt;

    /**
     * 信息审核标志:0未审核，1开始审核，2审核通过，3审核不通过
     */
    private Integer audit;

    /**
     * 登录标识，0未登录，1登录过
     */
    @Column("fist_login")
    private String fistLogin;

    /**
     * 图片路径
     */
    @Column("image_url")
    private String imageUrl;

    /**
     * 最后登录时间
     */
    @Column("lask_login_time")
    private LocalDateTime laskLoginTime;

    /**
     * 删除标志0不删除，1删除
     */
    @Column("delete_flag")
    private Integer deleteFlag;

    /**
     * 审核时间
     */
    @Column("audit_time")
    private LocalDateTime auditTime;

    /**
     * 创建时间
     */
    @Column("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人id
     */
    @Column("create_user_id")
    private String createUserId;

    /**
     * 修改时间
     */
    @Column("update_time")
    private LocalDateTime updateTime;

    /**
     * 修改人id
     */
    @Column("update_user_id")
    private String updateUserId;

    /**
     * 完善用户资料标识，0：没完善，1：已完善
     */
    @Column("perfect_flag")
    private Integer perfectFlag;


}